-- *****************************************************************
-- CISCO-RF-MIB.my:
-- Descriptions of managed objects for the Redundancy Framework
-- (RF) subsystem.
--   
-- August 2000, Timothy Kurnik and Bo Berry
-- December 2001, Liwei Wang
--   
-- Copyright (c) 2000-2006 by Cisco Systems Inc.
-- All rights reserved.
-- ****************************************************************

CISCO-RF-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE,
    Counter32,
    Integer32,
    Unsigned32
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    NOTIFICATION-GROUP,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    TEXTUAL-CONVENTION,
    TruthValue,
    DateAndTime,
    TimeStamp,
    TimeInterval
        FROM SNMPv2-TC
    sysUpTime
        FROM SNMPv2-MIB
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    ciscoMgmt
        FROM CISCO-SMI;


ciscoRFMIB MODULE-IDENTITY
    LAST-UPDATED    "200509010000Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
            "Cisco Systems Customer Service
            Postal: 170 West Tasman Drive
                  San Jose, CA 95134
                  USA
            Tel: +1 800 553-NETS

            E-mail: cs-rf-mib@cisco.com"
    DESCRIPTION
        "This MIB provides configuration control and status for the
        Redundancy Framework (RF) subsystem. RF provides a mechanism
        for logical redundancy of software functionality and is
        designed to support 1:1 redundancy on processor cards. RF is
        not intended to solve all redundancy schemes. Nor is RF
        designed to support redundant hardware, such as power
        supplies.

        Redundancy is concerned with the duplication of data elements
        and software functions to provide an alternative in case of
        failure. It is a key component to meeting 99.999% availability
        requirements for Class 5 carrier solutions.

        In the scope of this MIB definition, peer software elements
        are redundant and redundant software elements are peers."
    REVISION        "200509010000Z"
    DESCRIPTION
        "Added a new textual convention : RFClientStatus.

        Added the cRFStatusRFClientTable which contains information
        about all the clients registered with the Redundancy 
        Facility (RF). "
    REVISION        "200404010000Z"
    DESCRIPTION
        "Added the new states, systemReset, loadVersionSwitchover
        and runVersionSwitchover. The unset state has been removed
        and the init state will represent the absense of the ISSU
        process. Updated the object cRFStatusIssuState to
        cRFStatusIssuStateRev1 as the ISSU states have been revised.
        Added new object, cRFStatusIssuFromVersion and
        cRFStatusIssuToVersion which represent the from and the to
        versions of IOS that are involved in the upgrade process.
        The object ciscoRFIssuStateObjGroup was changed to
        ciscoRFIssuStateObjGroupRev1 to accomodate these new
        objects."
    REVISION        "200402040000Z"
    DESCRIPTION
        "Added ciscoRFIssuStateNotifGroup and ciscoRFIssuStateObjGroup
        that represent the notification group and the object group
        that represents the ISSU state of the system."
    REVISION        "200310020000Z"
    DESCRIPTION
        "Changed the description for ciscoRFProgressionNotif"
    REVISION        "200201070000Z"
    DESCRIPTION
        "Added the following object in cRFStatus:
        cRFStatusRFModeCapsTable
        Added the following object in cRFCfg:
        cRFCfgRedundancyOperMode
        Updated description of following object in cRFCfg:
        cRFCfgRedundancyMode"
    REVISION        "200107200000Z"
    DESCRIPTION
        "Added new sub-group
        cRFHistory
        Added new table cRFHistorySwitchOverTable
        which maintains the history of switchovers.
        Also added objects:
        cRFStatusFailoverTime
        cRFStatusPeerStandByEntryTime
        cRFHistoryTableMaxLength
        cRFHistoryColdStarts
        cRFHistoryStandByAvailTime
        Added textual convention:
        RFUnitIdentifier."
    REVISION        "200106260000Z"
    DESCRIPTION
        "Changed terminology:
        'split-mode' is now 'maintenance-mode'
        Added textual convention:
        RFMode
        Deprecated object:
        cRFCfgSplitMode
        Added objects:
        cRFCfgMaintenanceMode
        cRFCfgRedundancyMode
        cRFCfgRedundancyModeDescr
        Added enumeration values:
        noAction(0)         to RFAction
        activeExtraload(15) to RFState
        activeHandback(16)  to RFState
        Added new transition state to ciscoRFProgressionNotif:
        activeExtraload
        Update compliance and conformance statements"
    REVISION        "200104030945Z"
    DESCRIPTION
        "The initial revision of this MIB."
          ::= { ciscoMgmt 176 }


-- Glossary
--   

-- Active Unit - The CPU on which calls are being processed.
--   
-- Availability   - Availability is measured as a percentage of
-- uptime. Based on continuous system operation which is typically
-- 24 hours per day, 7 days per week, 365 days a year.
--   
-- Bulk Sync - The process of updating the standby unit to the current
-- context of the active unit. Once the Bulk sync is complete the
-- standby unit is considered 'hot' and able to become the active unit.
--   
-- Clients - Applications that have registered with the Redundancy
-- Facility (RF) to receive RF events and notifications. These are
-- considered redundancy aware applications.
--   
-- Cold Redundancy - A redundancy scheme that is not able to instantly
-- retain established calls and immediately able to handle new
-- calls. The standby unit in a cold redundancy system is not fully
-- initialized and is not able to retain established calls.
--   
-- Configuration Data - Data that the user configures for the
-- application and networking requirements. PVCs would fall into this
-- category.
--   
-- Cutover - A canonical term referring to either a switch-over or a
-- fail-over.
--   
-- Data Events - Messages, such as ATM SVC events, sent from active
-- unit clients to the standby clients. Data Events are used to keep a
-- standby-hot unit up-to-date with dynamic data changes on the active
-- unit.
--   
-- Drop Activity - The process by which the currently active unit
-- relinquishes activity to the standby unit. The active unit can only
-- drop activity to a standby-cold or standby-hot unit. This can be
-- for one of two reasons:
--   
-- - the currently active unit has determined that it is unhealthy
-- and needs to release activity to the standby, or
--   
-- - the user issues a command to drop activity. This is typically
-- done for maintenance purposes such as upgrading to a new
-- image in the standby.
--   
-- Duplex Mode - The mode of operation when both control processors,
-- one active and one standby, are present in the system. As opposed
-- to simplex mode.
--   
-- Dynamic Data   - Dynamic Data is data that changes in real time. It
-- is this data that is synced from the active to the standby unit.
-- The type and frequency of dynamic data syncs is client
-- specific. ATM SVCs fall into this category. Once the SVC is
-- established on the active unit, ATM sends SVC Data Events to the
-- standby unit.
--   
-- Gain Activity - The process by which the standby unit becomes the
-- active unit.
--   
-- Hot Redundancy - A redundancy scheme that is able to instantly
-- retain established calls and immediately able to handle new calls.
--   
-- Load Sharing  - A high availability scheme whereby a portion of the
-- system load is statically assigned to each processor/resource. The
-- assignment of resources may be decided based on ingress interface,
-- line card, etc. No dynamic decisions are made as to the load
-- distribution in the system; it is pre-determined.
--   
-- Negotiation Clash - The situation when two loosely coupled units
-- think both have the same negotiation status. In this case, the
-- primary unit should over ride the secondary unit.
--   
-- Peer Unit - The Secondary Unit is the peer to the Primary Unit,
-- and the Primary Unit is the peer to the Secondary Unit.
--   
-- Primary Unit  - This is the unit that wins in the unlikely event of
-- a negotiation clash between two loosely coupled units. For example,
-- if both units think they are active,   the Primary unit is designed
-- to remain active while the Secondary Unit backs down to standby. If
-- both units think they are standby, the Primary unit is designed to
-- gain activity while the Secondary Unit remains the standby.
--   
-- Progression - The process of making redundancy state of the standby
-- unit equivalent to that of the active unit. This includes
-- transitioning the RF state machine through several states which in
-- turn drives the RF clients on the active unit to synchronize any
-- relevant data with their peer on the standby unit.
--   
-- Secondary Unit - This is the unit that backs-down in the unlikely
-- event of a negotiation clash between two loosely coupled units. For
-- example, if both units think they are active, the Secondary unit is
-- designed to back down while the Primary unit remains active. If
-- both units think they are standby, the Secondary unit is designed to
-- remain standby while the Primary unit gains activity.
--   
-- Simplex Mode   - The mode of operation when only a single control
-- processor is present in the system. As opposed to duplex mode.
--   
-- Maintenance Mode - A mode in redundancy where the standby unit is
-- present (duplex) but logically disconnected from the active
-- unit. Clients do not send data syncs to the standby unit. This mode
-- is useful for software upgrades and other maintenance procedures.
--   
-- Standby Unit   - The unit which is backing-up the currently Active
-- unit. The Standby unit has several substates that are specific to
-- becoming standby-hot. Once the standby unit progresses to
-- standby-hot, it is able to instantly become the active unit while
-- retaining calls.
--   
-- Switch of Activity (SWACT) - Either a forced or automatic switch
-- of active status from the active unit to the standby unit. The
-- former standby unit is now referred to as the active unit.
--   
-- Take Activity - The process by which the standby unit becomes the
-- active unit. This can be for one of two reasons:
--   
-- - the standby unit has determined that the currently active unit
-- is unhealthy and takes activity, or
--   
-- - the user issues a command to switch activity from the currently
-- active unit. This is typically done for maintenance purposes
-- such as upgrading the standby unit.
--   
-- ISSU - In Service Software Upgrade
-- IOS Software upgrades between different images will be
-- possible using the new infrastructure that has been developed
-- as a part of SSO. It will allow for Stateful Switchovers,
-- and hence hitless upgrades between different image versions.
--   

--   
-- Textual conventions

RFState ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The current state of the RF subsystem.

        notKnown
            - state is unknown
        disabled
            - RF is not operational on this unit
        initialization
            - establish necessary system services
        negotiation
            - peer unit discovery and negotiation
        standbyCold
            - client notification on standby unit
        *standbyColdConfig
            - standby configuration is updated from active configuration
        *standbyColdFileSys
            - standby file system (FS) is updated from the active FS
        *standbyColdBulk
            - clients sync data from active to standby
        standbyHot
            - incremental client data sync continues. This unit is
              ready to take over activity.
        activeFast
            - call maintenance efforts during a SWACT
        activeDrain
            - client clean-up phase
        activePreconfig
            - unit is active but has not read its configuration
        activePostconfig
            - unit is active and is post-processing its configuration
        active
            - unit is active and processing calls
        activeExtraload
            - unit is active and processing calls for all feature
              boards in the system
        activeHandback
            - unit is active, processing calls and is in the process
              of handing some resources to the other unit in the system

        * Sub-state of 'standbyCold'"
    SYNTAX          INTEGER  {
                        notKnown(1),
                        disabled(2),
                        initialization(3),
                        negotiation(4),
                        standbyCold(5),
                        standbyColdConfig(6),
                        standbyColdFileSys(7),
                        standbyColdBulk(8),
                        standbyHot(9),
                        activeFast(10),
                        activeDrain(11),
                        activePreconfig(12),
                        activePostconfig(13),
                        active(14),
                        activeExtraload(15),
                        activeHandback(16)
                    }

RFMode ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The characterization of the redundancy subsystem.

        nonRedundant
            - the system is not redundant.
        staticLoadShareNonRedundant
            - the system is *not* redundant but is load sharing.
              The load sharing is *not* based on operational load
              (i.e. number of calls, etc).
        dynamicLoadShareNonRedundant
            - the system is *not* redundant but is load sharing.
              Load sharing is based on operational load.
        staticLoadShareRedundant
            - the system is redundant and is load sharing. The
              load sharing is *not* based on operational load.
        dynamicLoadShareRedundant
            - the system is redundant and is load sharing. Load
              sharing is based on operational load.
        coldStandbyRedundant
            - the system is redundant but the redundant peer unit is
              not fully initialized and is not able to retain
              established calls.
        warmStandbyRedundant
            - the system is redundant and the redundant peer unit is
              immediately able to handle new calls. The redundant
              unit is unable to retain established calls.
        hotStandbyRedundant
            - the system is redundant and the redundant peer unit is
              able to 'instantaneously' retain established calls and
              immediately able to handle new calls."
    SYNTAX          INTEGER  {
                        nonRedundant(1),
                        staticLoadShareNonRedundant(2),
                        dynamicLoadShareNonRedundant(3),
                        staticLoadShareRedundant(4),
                        dynamicLoadShareRedundant(5),
                        coldStandbyRedundant(6),
                        warmStandbyRedundant(7),
                        hotStandbyRedundant(8)
                    }

RFAction ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "Administrative commands to invoke in the RF subsystem.

        noAction
            - no action (do nothing)
        reloadPeer
            - reset the redundant peer unit
        reloadShelf
            - reset the entire shelf
        switchActivity
            - safely SWACT to peer unit and go standby
        forceSwitchActivity
            - switch activity; ignoring pre-conditions, system
              warnings and safety checks.

        When the value is set to 'noAction' no operation is performed.
        When read, the value 'noAction' is always returned."
    SYNTAX          INTEGER  {
                        noAction(0),
                        reloadPeer(1),
                        reloadShelf(2),
                        switchActivity(3),
                        forceSwitchActivity(4)
                    }

RFSwactReasonType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "Reason codes for the switch of activity from an active
        redundant unit to its standby peer unit.

        unsupported
            - the 'reason code' is an unsupported feature
        none
            - no SWACT has occurred
        notKnown
            - reason is unknown
        userInitiated
            - a safe, manual SWACT was initiated by user
        userForced
            - a manual SWACT was forced by user; ignoring
              pre-conditions, warnings and safety checks
        activeUnitFailed
            - active unit failure caused an auto SWACT
        activeUnitRemoved
            - active unit removal caused an auto SWACT"
    SYNTAX          INTEGER  {
                        unsupported(1),
                        none(2),
                        notKnown(3),
                        userInitiated(4),
                        userForced(5),
                        activeUnitFailed(6),
                        activeUnitRemoved(7)
                    }

RFUnitIdentifier ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION     "A unique identifier for Active/Standby unit."
    SYNTAX          Integer32 (0..2147483647 )

RFIssuState ::= TEXTUAL-CONVENTION
    STATUS          deprecated
    DESCRIPTION
        "ISSU state represents the current system state.

        unset
            - unset state; if the system is booted from tftp or from
              ROMMON such that the image is not the first in BOOT
        init
            - init state; the first ISSU state that the system will
              move to after the unset state, when the ISSU process
              has just been kicked off. The first CLI that is executed
              to make this happen is the loadversion CLI.
        loadVersion
            - Once the loadversion CLI has been executed, the state
              of the system is changed to reflect this, and this state
              is called the loadVersion state. The boot variable on
              the Standby is updated to point to the new image that the
              Standby needs to load and then it is reset.
        runVersion
            - runVersion state; When the system is in the loadversion
              state, the Active is running the old image and the
              Standby is running the new image. When the runversion
              CLI is executed, a switchover occurs, and the Standby
              running the new image takes over as the Active. The
              state of the system at this stage is updated to
              runversion.
        commitVersion
            - in the runversion state, the Active is running the
              new image, and the Standby is running the old image.
              When the user is satisfied with the functioning of
              the system, they execute the commitversion CLI, which
              will prepend the boot variable on the Standby with
              the new image, and then the Standby is reset. After
              this, the Standby comes up with the new image, and
              the state of the system is updated to reflect the
              commitVersion state."
    SYNTAX          INTEGER  {
                        unset(0),
                        init(1),
                        loadVersion(2),
                        runVersion(3),
                        commitVersion(4)
                    }

RFIssuStateRev1 ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "ISSU state represents the current system state.

        init
            - This state represents the initial state of the system.
              The ISSU process is not running at this stage. The only
              CLI for ISSU process that can be executed in this state
              is the loadversion CLI.
        systemReset
            - If a system reset occurs, or the abortversion CLI is 
              executed, the state of the system is pushed to this state.
        loadVersion
            - When the Standby signs in after the loadversion CLI
              is executed, the state of the system is changed to
              loadVersion.
        loadVersionSwitchover
            - If a switchover occurs in the loadVersion state, by
              the user, or because the Active crashes, the new
              state of the system will be loadVersionSwitchover.
              It is analogous to the runVersion state, except that
              the runversion CLI was not executed.
        runVersion
            - When the Standby signs in after executing the
              runversion CLI, the state of the system is changed
              to runVersion.
        runVersionSwitchover
            - if a switchover occurs while the system is in the
              runVersion state, the new state will be called
              runVersionSwitchover. It is analogous to the
              loadVersion state.
        commitVersion
            - When the Standby signs in after the commitversion CLI
              is executed, the state of the system is changed to
              commitVersion."
    SYNTAX          INTEGER  {
                        init(0),
                        systemReset(1),
                        loadVersion(3),
                        loadVersionSwitchover(4),
                        runVersion(6),
                        runVersionSwitchover(7),
                        commitVersion(9)
                    }

RFClientStatus ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The status of a RF client before, during and after
        switchover.

        noStatus
            - No status information is available for this client.
        clientNotRedundant
            - Client is active. But there is no redundancy to this
              client. This could be because there is no standby or
              the client cannot claim that the standby client can
              take over without losing data or traffic during a
              switchover.
        clientRedundancyInProgress
            - The client is trying to sync all data to standby and
              achieve redundancy.
        clientRedundant
            - The client is redundant and ready for switchover. The 
              client can safely claim that there is no data or traffic 
              loss if there is a switchover."
    SYNTAX          INTEGER  {
                        noStatus(1),
                        clientNotRedundant(2),
                        clientRedundancyInProgress(3),
                        clientRedundant(4)
                    }
-- OBJECT IDENTIFIER assignments for various groups
ciscoRFMIBObjects  OBJECT IDENTIFIER
    ::= { ciscoRFMIB 1 }

-- sub-groups
cRFStatus  OBJECT IDENTIFIER
    ::= { ciscoRFMIBObjects 1 }

cRFCfg  OBJECT IDENTIFIER
    ::= { ciscoRFMIBObjects 2 }

cRFHistory  OBJECT IDENTIFIER
    ::= { ciscoRFMIBObjects 3 }

cRFClient  OBJECT IDENTIFIER
    ::= { ciscoRFMIBObjects 4 }


-- Status sub-group definitions
cRFStatusUnitId OBJECT-TYPE
    SYNTAX          RFUnitIdentifier
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "A unique identifier for this redundant unit. This identifier
        is implementation-specific but the method for selecting the id
        must remain consistent throughout the redundant system.

        Some example identifiers include: slot id, physical or logical
        entity id, or a unique id assigned internally by the RF
        subsystem." 
    ::= { cRFStatus 1 }

cRFStatusUnitState OBJECT-TYPE
    SYNTAX          RFState
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "The current state of RF on this unit." 
    ::= { cRFStatus 2 }

cRFStatusPeerUnitId OBJECT-TYPE
    SYNTAX          RFUnitIdentifier
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "A unique identifier for the redundant peer unit. This
        identifier is implementation-specific but the method for
        selecting the id must remain consistent throughout the
        redundant system.

        Some example identifiers include: slot id, physical or logical
        entity id, or a unique id assigned internally by the RF
        subsystem." 
    ::= { cRFStatus 3 }

cRFStatusPeerUnitState OBJECT-TYPE
    SYNTAX          RFState
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "The current state of RF on the peer unit." 
    ::= { cRFStatus 4 }

cRFStatusPrimaryMode OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Indicates whether this is the primary redundant unit or
        not. If this unit is the primary unit, this object is true. If
        this unit is the secondary unit, this object is false.

        Note that the terms 'primary/secondary' are not synonymous
        with the terms 'active/standby'. At any given time, the
        primary unit may be the active unit, or the primary unit may
        be the standby unit. Likewise,   the secondary unit, at any
        given time, may be the active unit, or the secondary unit may
        be the standby unit.

        The primary unit is given a higher priority or precedence over
        the secondary unit. In a race condition (usually at
        initialization time) or any situation where the redundant
        units are unable to successfully negotiate activity between
        themselves, the primary unit will always become the active
        unit and the secondary unit will fall back to standby. Only
        one redundant unit can be the primary unit at any given time.

        The algorithm for determining the primary unit is system
        dependent, such as 'the redundant unit with the lower numeric
        unit id is always the primary unit.'" 
    ::= { cRFStatus 5 }

cRFStatusDuplexMode OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Indicates whether the redundant peer unit has been detected
        or not. If the redundant peer unit is detected, this object is
        true. If the redundant peer unit is not detected, this object
        is false." 
    ::= { cRFStatus 6 }

cRFStatusManualSwactInhibit OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Indicates whether a manual switch of activity is
        permitted. If a manual switch of activity is allowed, this
        object is false. If a manual switch of activity is not
        allowed, this object is true. Note that the value of this
        object is the inverse of the status of manual SWACTs.

        This object does not indicate whether a switch of activity is
        or has occurred. This object only indicates if the
        user-controllable capability is enabled or not.

        A switch of activity is the event in which the standby
        redundant unit becomes active and the previously active unit
        becomes standby." 
    ::= { cRFStatus 7 }

cRFStatusLastSwactReasonCode OBJECT-TYPE
    SYNTAX          RFSwactReasonType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "The reason for the last switch of activity." 
    ::= { cRFStatus 8 }

cRFStatusFailoverTime OBJECT-TYPE
    SYNTAX          TimeStamp
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The value of sysUpTime when the primary redundant unit took over
        as active. The value of this object will be 0 till the first
        switchover." 
    ::= { cRFStatus 9 }

cRFStatusPeerStandByEntryTime OBJECT-TYPE
    SYNTAX          TimeStamp
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The value of sysUpTime when the peer redundant unit entered the
        standbyHot state. The value will be 0 on system initialization." 
    ::= { cRFStatus 10 }
-- Redundancy mode capability table

cRFStatusRFModeCapsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CRFStatusRFModeCapsEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table containing a list of redundancy modes that can be
        supported on the device."
    ::= { cRFStatus 11 }

cRFStatusRFModeCapsEntry OBJECT-TYPE
    SYNTAX          CRFStatusRFModeCapsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry containing the device implementation specific
        terminology associated with the redundancy mode that can be
        supported on the device."
    INDEX           { cRFStatusRFModeCapsMode } 
    ::= { cRFStatusRFModeCapsTable 1 }

CRFStatusRFModeCapsEntry ::= SEQUENCE {
        cRFStatusRFModeCapsMode      RFMode,
        cRFStatusRFModeCapsModeDescr SnmpAdminString
}

cRFStatusRFModeCapsMode OBJECT-TYPE
    SYNTAX          RFMode
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The redundancy mode that can be supported on the device." 
    ::= { cRFStatusRFModeCapsEntry 1 }

cRFStatusRFModeCapsModeDescr OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The description of the device implementation specific
        terminology associated with its supported redundancy mode." 
    ::= { cRFStatusRFModeCapsEntry 2 }
 


cRFStatusIssuState OBJECT-TYPE
    SYNTAX          RFIssuState
    MAX-ACCESS      read-only
    STATUS          deprecated
    DESCRIPTION     "The current ISSU state of the system." 
    ::= { cRFStatus 12 }

cRFStatusIssuStateRev1 OBJECT-TYPE
    SYNTAX          RFIssuStateRev1
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "The current ISSU state of the system." 
    ::= { cRFStatus 13 }

cRFStatusIssuFromVersion OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "The IOS version from with the user is upgrading" 
    ::= { cRFStatus 14 }

cRFStatusIssuToVersion OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "The IOS version to with the user is upgrading" 
    ::= { cRFStatus 15 }
-- Redundancy Facility (RF) Client Table

cRFStatusRFClientTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CRFStatusRFClientEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains a list of RF clients that are
        registered on the device. 

        RF clients are applications that have registered with 
        the Redundancy Facility (RF) to receive RF events and 
        notifications. The purpose of RF clients is to synchronize 
        any relevant data with the standby unit."
    ::= { cRFClient 1 }

cRFStatusRFClientEntry OBJECT-TYPE
    SYNTAX          CRFStatusRFClientEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry containing information on various clients
        registered with the Redundancy Facility (RF). Entries in
        this table are always created by the system.

        An entry is created in this table when a redundancy aware 
        application registers with the Redundancy Facility. The entry 
        is destroyed when that application deregisters from the 
        Redundancy Facility."
    INDEX           { cRFStatusRFClientID } 
    ::= { cRFStatusRFClientTable 1 }

CRFStatusRFClientEntry ::= SEQUENCE {
        cRFStatusRFClientID      Unsigned32,
        cRFStatusRFClientDescr   SnmpAdminString,
        cRFStatusRFClientSeq     Unsigned32,
        cRFStatusRFClientRedTime Unsigned32,
        cRFStatusRFClientStatus  RFClientStatus
}

cRFStatusRFClientID OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4294967295 )
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A unique identifier for the client which registered with the
        Redundancy Facility." 
    ::= { cRFStatusRFClientEntry 1 }

cRFStatusRFClientDescr OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The description of the client which has registered with the
        Redundancy Facility." 
    ::= { cRFStatusRFClientEntry 2 }

cRFStatusRFClientSeq OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The sequence number of the client. The system assigns the
        sequence numbers based on the order of registration of
        the Redundancy Facility clients. 
        This is used for deciding order of RF events sent to clients." 
    ::= { cRFStatusRFClientEntry 3 }

cRFStatusRFClientRedTime OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Time taken for this client to become Redundant. This value
        is meaningful when the value of cRFStatusRFClientStatus is
        not 'noStatus'." 
    ::= { cRFStatusRFClientEntry 4 }

cRFStatusRFClientStatus OBJECT-TYPE
    SYNTAX          RFClientStatus
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object provides the status of the Redundancy Facility
        client." 
    ::= { cRFStatusRFClientEntry 5 }
 


-- Configuration sub-group definitions
cRFCfgSplitMode OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          deprecated
    DESCRIPTION
        "Indicates whether redundant units may communicate
        synchronization messages with each other. If communication is
        not permitted, this object is set to true. If communication is
        permitted, this object is set to false.

        In split mode (true), the active unit will not communicate
        with the standby unit. The standby unit progression will not
        occur. When split mode is disabled (false), the standby unit
        is reset to recover.

        Split mode (true) is useful for maintenance operations.
        " 
    ::= { cRFCfg 1 }

cRFCfgKeepaliveThresh OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "On platforms that support keep-alives, the keep-alive
        threshold value designates the number of lost keep-alives
        tolerated before a failure condition is declared. If this
        occurs, a SWACT notification is sent.

        On platforms that do not support keep-alives, this object has
        no purpose or effect." 
    ::= { cRFCfg 2 }

cRFCfgKeepaliveThreshMin OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The minimum acceptable value for the cRFCfgKeepaliveThresh
        object." 
    ::= { cRFCfg 3 }

cRFCfgKeepaliveThreshMax OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The maximum acceptable value for the cRFCfgKeepaliveThresh
        object." 
    ::= { cRFCfg 4 }

cRFCfgKeepaliveTimer OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "milliseconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "On platforms that support keep-alives, the keep-alive timer
        value is used to guard against lost keep-alives. The RF
        subsystem expects to receive a keep-alive within this period.
        If a keep-alive is not received within this time period, a
        SWACT notification is sent.

        On platforms that do not support keep-alives, this object has
        no purpose or effect." 
    ::= { cRFCfg 5 }

cRFCfgKeepaliveTimerMin OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The minimum acceptable value for the cRFCfgKeepaliveTimer
        object." 
    ::= { cRFCfg 6 }

cRFCfgKeepaliveTimerMax OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The maximum acceptable value for the cRFCfgKeepaliveTimer
        object." 
    ::= { cRFCfg 7 }

cRFCfgNotifTimer OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "milliseconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Note that the term 'notification' here refers to an RF
        notification and not an SNMP notification.

        As the standby unit progresses to the 'standbyHot' state,
        asynchronous messages are sent from the active unit to the
        standby unit which must then be acknowledged by the standby
        unit. If the active unit receives the acknowledgement during
        the time period specified by this object, progression proceeds
        as normal. If the timer expires and an acknowledgement was not
        received by the active unit, a switch of activity occurs." 
    ::= { cRFCfg 8 }

cRFCfgNotifTimerMin OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The minimum acceptable value for the cRFCfgNotifTimer
        object." 
    ::= { cRFCfg 9 }

cRFCfgNotifTimerMax OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The maximum acceptable value for the cRFCfgNotifTimer
        object." 
    ::= { cRFCfg 10 }

cRFCfgAdminAction OBJECT-TYPE
    SYNTAX          RFAction
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This variable is set to invoke RF subsystem action commands.
        The commands are useful for maintenance and software upgrade
        activities." 
    ::= { cRFCfg 11 }

cRFCfgNotifsEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Allows enabling/disabling of RF subsystem notifications."
    DEFVAL          { false } 
    ::= { cRFCfg 12 }

cRFCfgMaintenanceMode OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Indicates whether redundant units may communicate
        synchronization messages with each other. If communication is
        not permitted, this object is set to 'true'. If communication
        is permitted, this object is set to 'false'.

        If the value of this object is 'true', the redundant system is
        considered to be in a maintenance mode of operation. If the
        value of this object is 'false', the redundant system is
        considered to be in a normal (non-maintenance) mode of
        operation.

        In maintenance mode (true), the active unit will not
        communicate with the standby unit. The standby unit
        progression will not occur. When maintenance mode is disabled
        (false), the standby unit is reset to recover.

        Maintenance mode (true) is useful for maintenance-type
        operations." 
    ::= { cRFCfg 13 }

cRFCfgRedundancyMode OBJECT-TYPE
    SYNTAX          RFMode
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Indicates the redundancy mode configured on the device." 
    ::= { cRFCfg 14 }

cRFCfgRedundancyModeDescr OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Further clarifies or describes the redundancy mode indicated
        by cRFCfgRedundancyMode. Implementation-specific terminology
        associated with the current redundancy mode may be presented
        here." 
    ::= { cRFCfg 15 }

cRFCfgRedundancyOperMode OBJECT-TYPE
    SYNTAX          RFMode
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Indicate the operational redundancy mode of the device." 
    ::= { cRFCfg 16 }

-- History sub-group definitions
cRFHistoryTableMaxLength OBJECT-TYPE
    SYNTAX          Unsigned32 (0..50 )
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Maximum number of entries permissible in the history
        table. A value of 0 will result in no history being
        maintained."
    DEFVAL          { 10 } 
    ::= { cRFHistory 1 }

cRFHistorySwitchOverTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CRFHistorySwitchOverEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A table that tracks the history of all switchovers that
        have occurred since system initialization. The maximum
        number of entries permissible in this table is defined by
        cRFHistoryTableMaxLength. When the number of entries in
        the table reaches the maximum limit, the next entry
        would replace the oldest existing entry in the table."
    ::= { cRFHistory 2 }

cRFHistorySwitchOverEntry OBJECT-TYPE
    SYNTAX          CRFHistorySwitchOverEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The entries in this table contain the switchover
        information. Each entry in the table is indexed by
        cRFHistorySwitchOverIndex. The index wraps around to 1
        after reaching the maximum value."
    INDEX           { cRFHistorySwitchOverIndex } 
    ::= { cRFHistorySwitchOverTable 1 }

CRFHistorySwitchOverEntry ::= SEQUENCE {
        cRFHistorySwitchOverIndex  Unsigned32,
        cRFHistoryPrevActiveUnitId RFUnitIdentifier,
        cRFHistoryCurrActiveUnitId RFUnitIdentifier,
        cRFHistorySwitchOverReason RFSwactReasonType,
        cRFHistorySwactTime        DateAndTime
}

cRFHistorySwitchOverIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4294967295 )
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A monotonically increasing integer for the purpose of
        indexing history table. After reaching maximum value,
        it wraps around to 1." 
    ::= { cRFHistorySwitchOverEntry 1 }

cRFHistoryPrevActiveUnitId OBJECT-TYPE
    SYNTAX          RFUnitIdentifier
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Indicates the primary redundant unit that went down." 
    ::= { cRFHistorySwitchOverEntry 2 }

cRFHistoryCurrActiveUnitId OBJECT-TYPE
    SYNTAX          RFUnitIdentifier
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Indicates the secondary redundant unit that took
        over as active." 
    ::= { cRFHistorySwitchOverEntry 3 }

cRFHistorySwitchOverReason OBJECT-TYPE
    SYNTAX          RFSwactReasonType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "Indicates the reason for the switchover." 
    ::= { cRFHistorySwitchOverEntry 4 }

cRFHistorySwactTime OBJECT-TYPE
    SYNTAX          DateAndTime
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Indicates the Date & Time when switchover occurred." 
    ::= { cRFHistorySwitchOverEntry 5 }
 


cRFHistoryColdStarts OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Indicates the number of system cold starts. This includes
        the number of system cold starts due to switchover failure
        and the number of manual restarts." 
    ::= { cRFHistory 3 }

cRFHistoryStandByAvailTime OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Indicates the cumulative time that a standby redundant
        unit has been available since last system initialization." 
    ::= { cRFHistory 4 }
-- MIB Notification definitions
ciscoRFMIBNotificationsPrefix  OBJECT IDENTIFIER
    ::= { ciscoRFMIB 2 }

ciscoRFMIBNotifications  OBJECT IDENTIFIER
    ::= { ciscoRFMIBNotificationsPrefix 0 }



ciscoRFSwactNotif NOTIFICATION-TYPE
    OBJECTS         {
                        cRFStatusUnitId,
                        sysUpTime,
                        cRFStatusLastSwactReasonCode
                    }
    STATUS          current
    DESCRIPTION
        "A SWACT notification is sent by the newly active redundant
        unit whenever a switch of activity occurs. In the case where a
        SWACT event may be indistinguishable from a reset event, a
        network management station should use this notification to
        differentiate the activity.

        sysUpTime is the same sysUpTime defined in the RFC-1213 MIB."
   ::= { ciscoRFMIBNotifications 1 }


ciscoRFProgressionNotif NOTIFICATION-TYPE
    OBJECTS         {
                        cRFStatusUnitId,
                        cRFStatusUnitState,
                        cRFStatusPeerUnitId,
                        cRFStatusPeerUnitState
                    }
    STATUS          current
    DESCRIPTION
        "A progression notification is sent by the active redundant
        unit whenever its RF state changes or the RF state of the peer
        unit changes.

        To avoid a flurry of notifications for all state transitions,
        notifications will only be sent for transitions to the
        following RF states:
            disabled (for the peer state)
            standbyCold
            standbyHot
            active
            activeExtraload"
   ::= { ciscoRFMIBNotifications 2 }


ciscoRFIssuStateNotif NOTIFICATION-TYPE
    OBJECTS         {
                        cRFStatusUnitId,
                        cRFStatusUnitState,
                        cRFStatusIssuState
                    }
    STATUS          deprecated
    DESCRIPTION
        "An ISSU notification to indicate the new state of
        the system."
   ::= { ciscoRFMIBNotifications 3 }


ciscoRFIssuStateNotifRev1 NOTIFICATION-TYPE
    OBJECTS         {
                        cRFStatusIssuStateRev1,
                        cRFStatusIssuFromVersion,
                        cRFStatusIssuToVersion,
                        cRFStatusLastSwactReasonCode
                    }
    STATUS          current
    DESCRIPTION
        "An ISSU notification to indicate the new state of
        the system."
   ::= { ciscoRFMIBNotifications 4 }
-- Conformance
ciscoRFMIBConformance  OBJECT IDENTIFIER
    ::= { ciscoRFMIB 3 }

ciscoRFMIBCompliances  OBJECT IDENTIFIER
    ::= { ciscoRFMIBConformance 1 }

ciscoRFMIBGroups  OBJECT IDENTIFIER
    ::= { ciscoRFMIBConformance 2 }


-- compliance statements
ciscoRFMIBCompliance MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which implement the
        Cisco RF MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoRFStatusGroup,
                        ciscoRFConfigGroup,
                        ciscoRFNotifGroup
                    }
    ::= { ciscoRFMIBCompliances 1 }

ciscoRFMIBComplianceRev1 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which implement the
        Cisco RF MIB"
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoRFStatusGroup,
                        ciscoRFConfigGroupRev1,
                        ciscoRFNotifGroup
                    }
    ::= { ciscoRFMIBCompliances 2 }

ciscoRFMIBComplianceRev2 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which implement the
        Cisco RF MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoRFStatusGroupRev1,
                        ciscoRFConfigGroupRev1,
                        ciscoRFNotifGroup,
                        ciscoRFHistoryGroup
                    }
    ::= { ciscoRFMIBCompliances 3 }

ciscoRFMIBComplianceRev3 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which implement the
        Cisco RF MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoRFStatusGroupRev1,
                        ciscoRFConfigGroupRev1,
                        ciscoRFNotifGroup,
                        ciscoRFHistoryGroup,
                        ciscoRFConfigRFOperModeGroup,
                        ciscoRFStatusRFModeCapsGroup,
                        ciscoRFIssuStateNotifGroup,
                        ciscoRFIssuStateObjGroup
                    }
    ::= { ciscoRFMIBCompliances 4 }

ciscoRFMIBComplianceRev4 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which implement the
        Cisco RF MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoRFStatusGroupRev1,
                        ciscoRFConfigGroupRev1,
                        ciscoRFNotifGroup,
                        ciscoRFHistoryGroup,
                        ciscoRFConfigRFOperModeGroup,
                        ciscoRFStatusRFModeCapsGroup,
                        ciscoRFIssuStateNotifGroupRev1,
                        ciscoRFIssuStateObjGroupRev1
                    }
    ::= { ciscoRFMIBCompliances 5 }

ciscoRFMIBComplianceRev5 MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "The compliance statement for entities which implement the
        Cisco RF MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoRFStatusGroupRev1,
                        ciscoRFConfigGroupRev1,
                        ciscoRFNotifGroup,
                        ciscoRFHistoryGroup,
                        ciscoRFConfigRFOperModeGroup,
                        ciscoRFStatusRFModeCapsGroup,
                        ciscoRFIssuStateNotifGroupRev1,
                        ciscoRFIssuStateObjGroupRev1,
                        ciscoRFStatusClientGroup
                    }
    ::= { ciscoRFMIBCompliances 6 }

-- Units of conformance
ciscoRFStatusGroup OBJECT-GROUP
    OBJECTS         {
                        cRFStatusUnitId,
                        cRFStatusUnitState,
                        cRFStatusPeerUnitId,
                        cRFStatusPeerUnitState,
                        cRFStatusPrimaryMode,
                        cRFStatusDuplexMode,
                        cRFStatusManualSwactInhibit,
                        cRFStatusLastSwactReasonCode
                    }
    STATUS          deprecated
    DESCRIPTION     "The collection of global RF status objects."
    ::= { ciscoRFMIBGroups 1 }

ciscoRFConfigGroup OBJECT-GROUP
    OBJECTS         {
                        cRFCfgSplitMode,
                        cRFCfgKeepaliveThresh,
                        cRFCfgKeepaliveThreshMin,
                        cRFCfgKeepaliveThreshMax,
                        cRFCfgKeepaliveTimer,
                        cRFCfgKeepaliveTimerMin,
                        cRFCfgKeepaliveTimerMax,
                        cRFCfgNotifTimer,
                        cRFCfgNotifTimerMin,
                        cRFCfgNotifTimerMax,
                        cRFCfgAdminAction,
                        cRFCfgNotifsEnabled,
                        cRFCfgRedundancyMode,
                        cRFCfgRedundancyModeDescr
                    }
    STATUS          deprecated
    DESCRIPTION     "The collection of RF configuration objects."
    ::= { ciscoRFMIBGroups 2 }

ciscoRFNotifGroup NOTIFICATION-GROUP
   NOTIFICATIONS    {
                        ciscoRFSwactNotif,
                        ciscoRFProgressionNotif
                    }
    STATUS          current
    DESCRIPTION
        "The collection of notifications used to indicate RF state
        information."
    ::= { ciscoRFMIBGroups 3 }

ciscoRFConfigGroupRev1 OBJECT-GROUP
    OBJECTS         {
                        cRFCfgKeepaliveThresh,
                        cRFCfgKeepaliveThreshMin,
                        cRFCfgKeepaliveThreshMax,
                        cRFCfgKeepaliveTimer,
                        cRFCfgKeepaliveTimerMin,
                        cRFCfgKeepaliveTimerMax,
                        cRFCfgNotifTimer,
                        cRFCfgNotifTimerMin,
                        cRFCfgNotifTimerMax,
                        cRFCfgAdminAction,
                        cRFCfgNotifsEnabled,
                        cRFCfgMaintenanceMode,
                        cRFCfgRedundancyMode,
                        cRFCfgRedundancyModeDescr
                    }
    STATUS          current
    DESCRIPTION     "The collection of RF configuration objects."
    ::= { ciscoRFMIBGroups 4 }

ciscoRFStatusGroupRev1 OBJECT-GROUP
    OBJECTS         {
                        cRFStatusUnitId,
                        cRFStatusUnitState,
                        cRFStatusPeerUnitId,
                        cRFStatusPeerUnitState,
                        cRFStatusPrimaryMode,
                        cRFStatusDuplexMode,
                        cRFStatusManualSwactInhibit,
                        cRFStatusLastSwactReasonCode,
                        cRFStatusFailoverTime,
                        cRFStatusPeerStandByEntryTime
                    }
    STATUS          current
    DESCRIPTION     "The collection of global RF Status objects."
    ::= { ciscoRFMIBGroups 5 }

ciscoRFHistoryGroup OBJECT-GROUP
    OBJECTS         {
                        cRFHistoryPrevActiveUnitId,
                        cRFHistoryCurrActiveUnitId,
                        cRFHistorySwitchOverReason,
                        cRFHistorySwactTime,
                        cRFHistoryColdStarts,
                        cRFHistoryStandByAvailTime,
                        cRFHistoryTableMaxLength
                    }
    STATUS          current
    DESCRIPTION     "The collection of RF History objects."
    ::= { ciscoRFMIBGroups 6 }

ciscoRFConfigRFOperModeGroup OBJECT-GROUP
    OBJECTS         { cRFCfgRedundancyOperMode }
    STATUS          current
    DESCRIPTION
        "An optional group with a collection of objects providing
        the information of the operational redundancy mode on the
        device."
    ::= { ciscoRFMIBGroups 7 }

ciscoRFStatusRFModeCapsGroup OBJECT-GROUP
    OBJECTS         { cRFStatusRFModeCapsModeDescr }
    STATUS          current
    DESCRIPTION
        "An optional group with a collection of objects
        providing the information of redundancy mode capability
        on the device."
    ::= { ciscoRFMIBGroups 8 }

ciscoRFIssuStateNotifGroup NOTIFICATION-GROUP
   NOTIFICATIONS    { ciscoRFIssuStateNotif }
    STATUS          deprecated
    DESCRIPTION
        "The collection of notifications used to indicate
        ISSU state of the system."
    ::= { ciscoRFMIBGroups 9 }

ciscoRFIssuStateNotifGroupRev1 NOTIFICATION-GROUP
   NOTIFICATIONS    { ciscoRFIssuStateNotifRev1 }
    STATUS          current
    DESCRIPTION
        "The collection of notifications used to indicate
        ISSU state of the system."
    ::= { ciscoRFMIBGroups 10 }

ciscoRFIssuStateObjGroup OBJECT-GROUP
    OBJECTS         { cRFStatusIssuState }
    STATUS          deprecated
    DESCRIPTION
        "An optional group with a collection of objects providing
        the information on the current ISSU state of the system."
    ::= { ciscoRFMIBGroups 11 }

ciscoRFIssuStateObjGroupRev1 OBJECT-GROUP
    OBJECTS         {
                        cRFStatusIssuStateRev1,
                        cRFStatusIssuFromVersion,
                        cRFStatusIssuToVersion
                    }
    STATUS          current
    DESCRIPTION
        "An optional group with a collection of objects providing
        the information on the current ISSU state of the system."
    ::= { ciscoRFMIBGroups 12 }

ciscoRFStatusClientGroup OBJECT-GROUP
    OBJECTS         {
                        cRFStatusRFClientDescr,
                        cRFStatusRFClientSeq,
                        cRFStatusRFClientRedTime,
                        cRFStatusRFClientStatus
                    }
    STATUS          current
    DESCRIPTION
        "A group of objects providing information regarding the
        various clients registered with the RF."
    ::= { ciscoRFMIBGroups 13 }

END